/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package datos;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import negocio.Usuario;

/**
 *
 * @author pablo
 */
public class UsuarioBD {

    public boolean grabar(Usuario user) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "INSERT INTO usuario(nombre, peso, cedula, fnacimiento,apodo, dimpecho, dimcadera,rodi_tobi, cint_rodi, dimcintura, hom_cintu, dimpie, idgenero, foto)"
                + "VALUES ('" + user.getNombre() + "'," + user.getPeso() + ",'" + user.getCedula() + "','" + user.getFechanaci() + "','" + user.getApodo() + "', " + user.getDimPecho() + "," + user.getDimCadera() + ","
                + +user.getRodi_tobi() + "," + user.getCint_rodi() + "," + user.getDimCintura() + "," + user.getHomb_cint() + "," + user.getDimpie() + "," + user.getIdgenero() + "," + user.getIdgenero() + ");";
        Boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;
    }

//    public int modificar(Usuario user) throws SQLException {
//        OperacionesBase db = new OperacionesBase();
//        String query="update cliente set cedula='" + cliente.getCedula() + "' where cedula='" + cliente.getCedula() + "'";
//        int resultado = db.modificacioneliminacion(query);
//        db.cerrarConexion();
//        return resultado;
//    }
//    
//    public int eliminar(String cedula) throws SQLException {
//        OperacionesBase db = new OperacionesBase();
//        String query="delete from cliente where cedula='" + cedula + "'";
//        int resultado = db.modificacioneliminacion(query);
//        db.cerrarConexion();
//        return resultado;
//    }
//    public Usuario buscar(String cedula) throws SQLException {
//        OperacionesBase db = new OperacionesBase();
//        String query = "select * from cliente where cedula ='" + cedula + "'";
//        ResultSet resultado = db.seleccion(query);
//        Usuario  usuario  = null;
//        if (resultado.next()) {
//            
//            usuario  = new Usuario ();
//            usuario.setCedula(resultado.getString(1));
//        }
//        db.cerrarConexion();
//        return cliente;
//    }
    public ArrayList listar() throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from usuario";
        ResultSet resultado = db.seleccion(query);
        Usuario usuario = null;
        ArrayList todos = new ArrayList();
        while (resultado.next()) {
            usuario = new Usuario();
            usuario.setNombre(resultado.getString(1));
            usuario.setPeso(resultado.getDouble(2));
            usuario.setCedula(resultado.getString(3));
            usuario.setFechanaci(resultado.getString(4));
            usuario.setApodo(resultado.getString(5));
            usuario.setDimPecho(resultado.getDouble(6));
            usuario.setDimCadera(resultado.getDouble(7));
            usuario.setRodi_tobi(resultado.getDouble(8));
            usuario.setCint_rodi(resultado.getDouble(9));
            usuario.setDimCintura(resultado.getDouble(10));
            usuario.setHomb_cint(resultado.getDouble(11));
            usuario.setDimpie(resultado.getDouble(12));
            usuario.setIdgenero(resultado.getInt(13));
            usuario.setFoto(resultado.getString(14));
            todos.add(usuario);
        }
        db.cerrarConexion();
        return todos;
    }

    public Usuario buscar2(String cedula, String apodo) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from usuario where cedula ='" + cedula + "' and apodo = '" + apodo + "'";
        ResultSet resultado = db.seleccion(query);
        Usuario user = null;
        if (resultado.next()) {
            user = new Usuario();
            user.setCedula(resultado.getString(3));
            user.setApodo(resultado.getString(5));
        }
        db.cerrarConexion();
        return user;
    }

    public ResultSet listarUsuarios() throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from listar_usuario() as (cedula character(10),nombre varchar);";
        ResultSet resultado = db.seleccion(query);
        return resultado;
    }

    public ResultSet puedeCompartir(String cedula) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from valida_compartir('" + cedula + "') as (idvastuario integer)";
        ResultSet resultado = db.seleccion(query);
        return resultado;
    }

    public boolean compartir(String cedula, String idVestuario) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = null;
        query = "INSERT INTO user_compar_vestu(cedula, idvestuario)VALUES ('" + cedula + "'," + Integer.parseInt(idVestuario) + ");";
        boolean aux = db.ingreso2(query);
        db.cerrarConexion();
        return aux;
    }
}
